
/**
 * Por Rodrigo Loyola Jaramillo
 * @class Extmx.WindowBuscar
 * Ventana para la busqueda de recursos
 * 
 * @extends Extmx.ModalWindow
 * @author ISC Rodrigo Loyola Jaramillo<br>
 *        rodrigo.loyola@thehumantalent.com<br>
 * @fecha 14 de Marzo 2011. Ciudad de Mexico
 * 
 */
Ext.ns('Extmx.WindowBuscar');
Extmx.WindowBuscar = Ext.extend(Extmx.ModalWindow, {
	/**
	 * @cfg String title Con el t&icute;tulo de la ventana
	 */
	title: "",
	
	/**
	 * @cfg String iconCls Con la clase de css que define al icono de la ventana
	 */
	iconCls: 'search',
	
	/**
	 * @cfg String closeAction La acci&oacute;n que se tomar&aacute; cuando se
	 * cierre la ventana. Por defecto 'hide'
	 */
	closeAction: "hide",

     /**
     * @cfg Boolean multipleSelect Si se indica en true, se agrega la columna de checksboxs y acepta seleccion multiple
     * @autor joshua
     * @fecha 24 de mayo de 2011
     */
    multipleSelect: false,

	
	initComponent: function(){
		
		if(Ext.isEmpty(this.panel)){
			throw "Extmx.WindowBuscar requiere un panel";
		}
		/*if (Ext.isEmpty(this.panel.getTbar)) {
            throw "El panel de WindowBuscar debe implementar el metodo getTbar";
        }
		if (Ext.isEmpty(this.panel.getCentro)) {
            throw "El formulario de WindowBuscar debe implementar el metodo getCentro";
        }
		if (Ext.isEmpty(this.panel.getFiltro)) {
            throw "El formulario de WindowBuscar debe implementar el metodo getFiltro";
        }
		if (Ext.isEmpty(this.panel.layouFiltro)) {
			this.panel.layoutFiltro = "form";
		}*/
		log(window.screen);
		Ext.apply(this, {
			items: this.panel,
            width: this.width || go.availWidth-150,
            height: this.height || go.availHeight-150,
			buttons: [{
		        iconCls:"aaccept24",
		        text:'Aceptar',
                scale:'medium',
				id: "save" + this.id,
				scope:this,
				handler: this.botonAceptar
		    },{
		        text: 'Cancelar',
		        iconCls:'cross_cancel_icon24',
                scale:'medium',
				id:"cancel"+this.id,
		        scope:this,
		        handler: this.onCancelar
		    }]
		});
		
		Extmx.WindowBuscar.superclass.initComponent.apply(this, arguments);
		
		this.addEvents(
			/**
			 * @event select
			 * Se lanza al seleccionar una actividad
			 * @param {WindowBuscar} ventana Esta ventana
			 * @param {Record} record El record seleccionado
			 */
			'select');
	},

    botonAceptar: function (){
        if(!this.panel.grid.hasSelection()){
            //si no tiene seleccionado ninguno
            this.panel.error("Por favor seleccione un elemento para continuar");
            return ;
        }
        if(this.multipleSelect){
            this.onSeleccionar( this.panel.grid.getSeleccionados() );
        }else{
            this.onSeleccionar( this.panel.grid.getSeleccionado() );
        }
    },
	
	
	/**
	* @method onSeleccionar Funci&oacute;n ejecutada al presionar el bot&oacute;n
	* aceptar. Envia a la clase que la creo el registro seleccionado.
	**/
	onSeleccionar:function (record){
		this.panel.listo();
		this.fireEvent("select", this, record);
		this.onCancelar();
	},
	
	/**
	* @method onCancelar Funci&oacute;n ejecutada al presionar el bot&oacute;n
	* cancelar. Esconde la ventana
	**/
	onCancelar:function (){
		if(this.closeAction === "hide"){
			this.hide();
		}
		else {
			this.close();	
		}
	}
	
});
